#include <stdlib.h>
#include <stdio.h>

#define MP1( fmt, ... ) printf( fmt, __VA_ARGS__ )
#define MP2( fmt, ... ) printf( fmt, ##__VA_ARGS__ )
#define MP3( fmt, args... ) printf( fmt, args )

int main( int argc, char *argv[] )
{
	MP1( "MP%d test\n", 1 );
	// MP1( "MP1 test" ); // compiler error
	MP2( "MP%d test\n", 2 );
	MP2( "MP2 test\n" ); // good

	MP3( "MP%d test\n", 3 );
	// MP3( "MP3 test\n" ); // compiler error
	return 0;
}

